[INFO] cloning repository https://github.com/masonbair/code_summarizer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/masonbair/code_summarizer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmasonbair%2Fcode_summarizer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmasonbair%2Fcode_summarizer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9c60663cf165ab6f0703f10e41365801d1b8f515
[INFO] checking masonbair/code_summarizer against try#8ac0915e346f9a2e49ca3951b642c55bd7d1eaab for pr-158447
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmasonbair%2Fcode_summarizer" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/masonbair/code_summarizer
[INFO] finished tweaking git repo https://github.com/masonbair/code_summarizer
[INFO] tweaked toml for git repo https://github.com/masonbair/code_summarizer written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/masonbair/code_summarizer on toolchain 8ac0915e346f9a2e49ca3951b642c55bd7d1eaab
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/masonbair/code_summarizer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fa83aa2ece4cb0b9bfb39a537368472facdf7a7933574625859ad4497918a83c
[INFO] running `Command { std: "docker" "start" "fa83aa2ece4cb0b9bfb39a537368472facdf7a7933574625859ad4497918a83c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fa83aa2ece4cb0b9bfb39a537368472facdf7a7933574625859ad4497918a83c" "/opt/rustwide/cargo-home/bin/cargo" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fa83aa2ece4cb0b9bfb39a537368472facdf7a7933574625859ad4497918a83c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fa83aa2ece4cb0b9bfb39a537368472facdf7a7933574625859ad4497918a83c" "/opt/rustwide/cargo-home/bin/cargo" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking zerofrom v0.1.7
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]    Compiling openssl v0.10.78
[INFO] [stderr]     Checking hashbrown v0.17.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking typenum v1.20.0
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking tokio v1.52.1
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking openssl-probe v0.2.1
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking deunicode v1.6.2
[INFO] [stderr]     Checking iri-string v0.7.12
[INFO] [stderr]     Checking predicates-core v1.0.10
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]     Checking humansize v2.1.3
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]     Checking slug v0.1.6
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking float-cmp v0.10.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking termtree v0.5.1
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking streaming-iterator v0.1.9
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking difflib v0.4.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking unicode-segmentation v1.13.2
[INFO] [stderr]     Checking jiff v0.2.24
[INFO] [stderr]    Compiling assert_cmd v2.2.1
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]     Checking normalize-line-endings v0.3.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking predicates-tree v1.0.13
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling openssl-sys v0.9.114
[INFO] [stderr]    Compiling libz-sys v1.1.28
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling libgit2-sys v0.17.0+1.8.1
[INFO] [stderr]    Compiling tree-sitter-typescript v0.23.2
[INFO] [stderr]    Compiling tree-sitter-rust v0.23.3
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling tree-sitter-python v0.23.6
[INFO] [stderr]    Compiling tree-sitter-go v0.23.4
[INFO] [stderr]    Compiling tree-sitter v0.24.7
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking env_filter v1.0.1
[INFO] [stderr]     Checking predicates v3.1.4
[INFO] [stderr]     Checking env_logger v0.11.10
[INFO] [stderr]     Checking globset v0.4.18
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking ignore v0.4.25
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking globwalk v0.9.1
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking tera v1.20.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking git2 v0.19.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking code-summarizer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `semantic::*`
[INFO] [stdout]   --> src/analyzer/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use semantic::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `semantic::*`
[INFO] [stdout]   --> src/analyzer/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use semantic::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_components`
[INFO] [stdout]    --> src/analyzer/structure.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout] 341 |         key_components: &mut Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_components`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_names`
[INFO] [stdout]    --> src/analyzer/structure.rs:344:13
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let file_names: Vec<&str> = files.iter()
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_names`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_components`
[INFO] [stdout]    --> src/analyzer/structure.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout] 341 |         key_components: &mut Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_components`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_names`
[INFO] [stdout]    --> src/analyzer/structure.rs:344:13
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let file_names: Vec<&str> = files.iter()
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_names`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/analyzer/semantic.rs:676:33
[INFO] [stdout]     |
[INFO] [stdout] 676 | ...                   let params = child.child_by_field_name("parameters")
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/analyzer/semantic.rs:676:33
[INFO] [stdout]     |
[INFO] [stdout] 676 | ...                   let params = child.child_by_field_name("parameters")
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `semantic_analyzer` is never read
[INFO] [stdout]   --> src/analyzer/structure.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct ProjectAnalyzer {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 62 |     semantic_analyzer: Option<SemanticAnalyzer>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Symbol` is never constructed
[INFO] [stdout]   --> src/code_index/client.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Symbol {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileMetadata` is never constructed
[INFO] [stdout]   --> src/code_index/client.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct FileMetadata {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `line` is never read
[INFO] [stdout]   --> src/code_index/client.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct RawDependency {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     line: Option<usize>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RawDependency` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `file`, `direction`, and `count` are never read
[INFO] [stdout]   --> src/code_index/client.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct DependencyQueryResult {
[INFO] [stdout]    |        --------------------- fields in this struct
[INFO] [stdout] 58 |     #[serde(default)]
[INFO] [stdout] 59 |     file: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 60 |     #[serde(default)]
[INFO] [stdout] 61 |     direction: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 62 |     #[serde(default)]
[INFO] [stdout] 63 |     count: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DependencyQueryResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HotFileInfo` is never constructed
[INFO] [stdout]   --> src/code_index/client.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct HotFileInfo {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `query_symbol`, `query_file`, `get_hot_files`, and `is_available` are never used
[INFO] [stdout]    --> src/code_index/client.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl CodeIndexClient {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn query_symbol(&self, name: &str) -> Result<Vec<Symbol>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn query_file(&self, file_path: &Path) -> Result<Vec<Symbol>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn get_hot_files(&self, limit: usize) -> Result<Vec<FileMetadata>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn is_available(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]  --> src/config.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Config {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenerationConfig` is never constructed
[INFO] [stdout]   --> src/config.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct GenerationConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StalenessConfig` is never constructed
[INFO] [stdout]   --> src/config.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct StalenessConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SummarizerError` is never used
[INFO] [stdout]  --> src/error.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum SummarizerError {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `repo_root`, `repo`, and `is_in_repo` are never used
[INFO] [stdout]   --> src/git/mod.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl GitClient {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn repo_root(&self) -> &Path {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn repo(&self) -> &Repository {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn is_in_repo(&self, path: &Path) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_directory_change_counts`, `count_files_in_tree`, and `get_last_modified_commit` are never used
[INFO] [stdout]    --> src/git/history.rs:60:12
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl GitClient {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub fn get_directory_change_counts(&self, dir_path: &Path) -> Result<HashMap<String, usize>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn count_files_in_tree(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn get_last_modified_commit(&self, file_path: &Path) -> Result<Option<git2::Commit<'_>>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `summary_time`, `latest_commit_time`, and `reason` are never read
[INFO] [stdout]   --> src/git/staleness.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct StalenessResult {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 11 |     pub is_stale: bool,
[INFO] [stdout] 12 |     pub summary_time: Option<SystemTime>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub latest_commit_time: Option<SystemTime>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub commits_since: usize,
[INFO] [stdout] 15 |     pub reason: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StalenessResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_changes_since` and `get_latest_commit_time` are never used
[INFO] [stdout]    --> src/git/staleness.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl GitClient {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn has_changes_since(&self, since: SystemTime) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn get_latest_commit_time(&self) -> Result<SystemTime> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_summary` and `model_name` are never used
[INFO] [stdout]   --> src/llm/mod.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub trait LlmClient: Send + Sync {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout]  9 |     /// Generate a summary for the given code/content
[INFO] [stdout] 10 |     fn generate_summary(&self, content: &str, context: &str) -> Result<String>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn model_name(&self) -> &str;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `model` is never read
[INFO] [stdout]  --> src/llm/ollama.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct OllamaClient {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 8 |     endpoint: String,
[INFO] [stdout] 9 |     model: String,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OllamaRequest` is never constructed
[INFO] [stdout]   --> src/llm/ollama.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct OllamaRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OllamaResponse` is never constructed
[INFO] [stdout]   --> src/llm/ollama.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct OllamaResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_url` is never used
[INFO] [stdout]   --> src/llm/ollama.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl OllamaClient {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn generate_url(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `semantic_extraction` is never read
[INFO] [stdout]   --> src/summarizer/mod.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct GenerationOptions {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub semantic_extraction: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GenerationOptions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render_custom` is never used
[INFO] [stdout]    --> src/templates/renderer.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl TemplateRenderer {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn render_custom<T: Serialize>(&self, template_name: &str, data: &T) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `semantic_analyzer` is never read
[INFO] [stdout]   --> src/analyzer/structure.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct ProjectAnalyzer {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 62 |     semantic_analyzer: Option<SemanticAnalyzer>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `line` is never read
[INFO] [stdout]   --> src/code_index/client.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct RawDependency {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     line: Option<usize>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RawDependency` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `file`, `direction`, and `count` are never read
[INFO] [stdout]   --> src/code_index/client.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct DependencyQueryResult {
[INFO] [stdout]    |        --------------------- fields in this struct
[INFO] [stdout] 58 |     #[serde(default)]
[INFO] [stdout] 59 |     file: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 60 |     #[serde(default)]
[INFO] [stdout] 61 |     direction: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 62 |     #[serde(default)]
[INFO] [stdout] 63 |     count: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DependencyQueryResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HotFileInfo` is never constructed
[INFO] [stdout]   --> src/code_index/client.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct HotFileInfo {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `query_symbol`, `query_file`, `get_hot_files`, and `is_available` are never used
[INFO] [stdout]    --> src/code_index/client.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl CodeIndexClient {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn query_symbol(&self, name: &str) -> Result<Vec<Symbol>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn query_file(&self, file_path: &Path) -> Result<Vec<Symbol>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn get_hot_files(&self, limit: usize) -> Result<Vec<FileMetadata>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn is_available(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/error.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum SummarizerError {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     FileRead {
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     FileWrite {
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     CodeIndexQuery { message: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     GitNotFound { path: String },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     GitOperation { message: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     TemplateRender {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     Config { message: String },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     LlmRequest { message: String },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     InvalidPath { path: String },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     AnalysisFailed { message: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SummarizerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `repo` is never used
[INFO] [stdout]   --> src/git/mod.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl GitClient {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn repo(&self) -> &Repository {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `latest_commit_time` is never read
[INFO] [stdout]   --> src/git/staleness.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct StalenessResult {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub latest_commit_time: Option<SystemTime>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StalenessResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_summary` is never used
[INFO] [stdout]   --> src/llm/mod.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub trait LlmClient: Send + Sync {
[INFO] [stdout]    |           --------- method in this trait
[INFO] [stdout]  9 |     /// Generate a summary for the given code/content
[INFO] [stdout] 10 |     fn generate_summary(&self, content: &str, context: &str) -> Result<String>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OllamaResponse` is never constructed
[INFO] [stdout]   --> src/llm/ollama.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct OllamaResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `semantic_extraction` is never read
[INFO] [stdout]   --> src/summarizer/mod.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct GenerationOptions {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub semantic_extraction: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GenerationOptions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 01s
[INFO] running `Command { std: "docker" "inspect" "fa83aa2ece4cb0b9bfb39a537368472facdf7a7933574625859ad4497918a83c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa83aa2ece4cb0b9bfb39a537368472facdf7a7933574625859ad4497918a83c", kill_on_drop: false }`
[INFO] [stdout] fa83aa2ece4cb0b9bfb39a537368472facdf7a7933574625859ad4497918a83c
